class AlisoftFi
  attr_reader :user_id,:app_id,:app_instance_id,:token,:sip_sessionid,:sip_timestamp,:code

  def initialize(request)
    @user_id = request[:user_id]
    @app_id  = request[:app_id]
    @app_instance_id=request[:app_instance_id]
    @token = request[:token]
    @sip_sessionid = '7d052759158b46e6b920397ab47441d5'
    @sip_timestamp=Time.now.strftime("%Y-%m-%d %H:%M:%S")
    @code=request[:code]
  end
  #此接口方法实现获取所有当前公司的末级科目列表
  def get_detail_accounts
    params = get_get_detail_accounts_params
    return AliUtil::get_result params
  end
  def get_get_detail_accounts_params
    ret_val = Hash.new
    ##系统级别参数
    ret_val['sip_appkey']=AliUtil::get_app_id
    ret_val['sip_apiname']="alisoft.fi.account.getDetailAccounts"
    ret_val['sip_timestamp']=@sip_timestamp
    ret_val['sip_format']='json'
    ##应用级别参数
    ret_val['appId']=@app_id
    ret_val['appInstanceId']=@app_instance_id
    ##计算获得签名信息
    ret_val['sip_sign']=AliUtil::get_sip_sign ret_val
    return ret_val
  end

  #此接口方法实现根据科目代码获取科目对象
  def get_account_by_code
    params = get_get_account_by_code_params
    return AliUtil::get_result params
  end
  def get_get_account_by_code_params
    ret_val = Hash.new
    ##系统级别参数
    ret_val['sip_appkey']=AliUtil::get_app_id
    ret_val['sip_apiname']="alisoft.fi.account.getAccountByCode"
    ret_val['sip_timestamp']=@sip_timestamp
    ret_val['sip_format']='json'
    ##应用级别参数
    ret_val['appId']=@app_id
    ret_val['appInstanceId']=@app_instance_id
    ret_val['code']=@code
    ##计算获得签名信息
    ret_val['sip_sign']=AliUtil::get_sip_sign ret_val
    return ret_val
  end
  #此接口方法实现生成会计凭证
  def get_gen_voucher
    params = get_gen_voucher_params
    return AliUtil::get_result params
  end
  def get_gen_voucher_params
    ret_val = Hash.new
    ##系统级别参数
    ret_val['sip_appkey']=AliUtil::get_app_id
    ret_val['sip_apiname']="alisoft.fi.voucher.genVoucher"
    ret_val['sip_timestamp']=@sip_timestamp
    ret_val['sip_format']='json'
    ##应用级别参数
    ret_val['voucherXml']=@voucherXml
    ##计算获得签名信息
    ret_val['sip_sign']=AliUtil::get_sip_sign ret_val
    return ret_val
  end
end
